/* $Id: CoreInterface.java 129 2011-08-26 05:27:43Z altdotua@gmail.com $ */

package alt.djudge.frontend.server.models;

import java.util.List;
import java.util.Map;

import alt.djudge.frontend.server.datatypes.AbstractEntry;


public interface CoreInterface<T extends AbstractEntry>
{
	public abstract T getEntry(Long entryId);
	
	public abstract T newEntry();

	public abstract boolean deleteEntry(Long entryId);

	public abstract List<T> getAllEntries();

	public abstract List<T> getEntries(
			Map<String, Object> map);

	public void deleteAllEntries(); 

	public CoreInterface<T> getAdapter();
}